Forward error correction is a form of error control for data transmission and storage in which the sender adds redundant data to its messages. The simplest and crudest form of error control in data transmission is to send messages multiple times (or store multiple copies of data). However, this comes at a high bandwidth cost. Various forward error correction coding techniques have been developed that generate redundant data that enables a limited number of errors to be identified and corrected without knowing in advance which portion of the message data is in error.
In the case of the transmission of video images, the transmitted data is generally an encoded bitstream representing the images. FIG. 1 conceptually illustrates such a bitstream 100. As shown in this situation, the error correction data (i.e., the redundancy data) is generated based on chunks of the bitstream that include multiple encoded images. As a result, the recipient of the data will have to receive multiple images in order to error check any of a set of the images. For example, to error check the data for P-frame 1 in bitstream 100, the recipient would need the information for I-frame 0, P-frame 1, B-frame 2, B-frame 3, and B-frame 4. This can create inefficiency in the error checking (and thus decode and display) of the images for the recipient.